//导入axios
import axios from 'axios'

//使用axios下面的create([config])方法创建axios实例，其中config参数为axios最基本的配置信息。
const api = axios.create({
    baseUrl: 'http://localhost:8300', //请求后端数据的基本地址，自定义
    timeout: 6000                   //请求超时设置，单位ms
})
api.defaults.baseURL = "http://localhost:8300";

//配置请求拦截器,可以请求发送的时候，对请求进行处理，比如加密等等
api.interceptors.request.use(config => {
    // config.headers["Content-Type"] = 'application/json'
    return config
}), error => {
    return Promise.reject(error)
}

//配置响应拦截器，对返回数据进行处理
api.interceptors.response.use(response => {
    //这个就是整个服务端返回的报文对象，想要什么参数再一层一层的往下找
    let res = response.data
    //如果返回的是文件
    if (response.config.responseType === "blob") {
        return res
    }
    if (typeof res === "string") {
        res = res ? JSON.parse(res) : res
    }
    return res
}), error => {
    console.log('err' + error)
    return Promise.reject(error)
}

//导出我们建立的axios实例模块，ES6 export用法
export default api